package tp.igl.View;

import javafx.geometry.Pos;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import tp.igl.Reseau;

/**
 *<p>Affiche les informations d'après un objet Reseau et une base (decimal, hexa, octal)</p>
 * @author PNR KACIMI HACINI
 */
public class ReseauInfo extends HBox{
  private VBox fields;
  private VBox values;
    
    /**
     *Constructeur ReseauInfo
     * @param reseau le reseau
     * @param base la base de l'affichage
     * @param isSub afficher les sous reseaux ou non
     */
    public ReseauInfo(Reseau reseau,int base,boolean isSub){
        super(30);
        if (base==16) setSpacing(62);
        setLayoutX(60);
        setStyle("-fx-background-color:#1B1B1B");
        setAlignment(Pos.CENTER);
        if (isSub){
            fields=new VBox(8);
            values=new VBox(8);
        }else{
            setStyle("-fx-padding:8px,15px");
            fields=new VBox(20);
            values=new VBox(20);
            
        }
        fields.getChildren().addAll(new Label("Network Address:"),new Label("Broadcast Address:"),new Label("First Address:"),new Label("Last Address:"));
        values.getChildren().add(new AdresseText(reseau.getNetworkAdress(),base));
        values.getChildren().add(new AdresseText(reseau.getBroadcastAdress(),base));
        values.getChildren().add(new AdresseText(reseau.getFirstAdress(),base));
        values.getChildren().add(new AdresseText(reseau.getLastAdress(),base));
        if (isSub){
            Label gap=new Label("");
            fields.getChildren().add(new Label("Subnet Mask"));
            values.getChildren().add(new Label(reseau.getNetworkMasque().toString(10)));
        }
        getChildren().addAll(fields,values);
    }
}
